{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Lab 9: Overfitting, underfitting, fitting polynomials, k-fold cross validation\n",
"\n",
"We will look at [Anscombe's quartet](https://en.wikipedia.org/wiki/Anscombe%27s_quartet), which are four constructed datasets that appear similar statistics, including regression lines, but look different when graphed."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import statsmodels.formula.api as smf\n",
"import seaborn as sns\n",
"import numpy as np\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn import datasets, linear_model\n",
"from sklearn.model_selection import KFold\n",
"\n",
"\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Load Anscombe's quartet in from Seaborn and look at it. The four different datasets are indicated by the `dataset` column."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
dataset
\n",
"
x
\n",
"
y
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
I
\n",
"
10.0
\n",
"
8.04
\n",
"
\n",
"
\n",
"
1
\n",
"
I
\n",
"
8.0
\n",
"
6.95
\n",
"
\n",
"
\n",
"
2
\n",
"
I
\n",
"
13.0
\n",
"
7.58
\n",
"
\n",
"
\n",
"
3
\n",
"
I
\n",
"
9.0
\n",
"
8.81
\n",
"
\n",
"
\n",
"
4
\n",
"
I
\n",
"
11.0
\n",
"
8.33
\n",
"
\n",
"
\n",
"
5
\n",
"
I
\n",
"
14.0
\n",
"
9.96
\n",
"
\n",
"
\n",
"
6
\n",
"
I
\n",
"
6.0
\n",
"
7.24
\n",
"
\n",
"
\n",
"
7
\n",
"
I
\n",
"
4.0
\n",
"
4.26
\n",
"
\n",
"
\n",
"
8
\n",
"
I
\n",
"
12.0
\n",
"
10.84
\n",
"
\n",
"
\n",
"
9
\n",
"
I
\n",
"
7.0
\n",
"
4.82
\n",
"
\n",
"
\n",
"
10
\n",
"
I
\n",
"
5.0
\n",
"
5.68
\n",
"
\n",
"
\n",
"
11
\n",
"
II
\n",
"
10.0
\n",
"
9.14
\n",
"
\n",
"
\n",
"
12
\n",
"
II
\n",
"
8.0
\n",
"
8.14
\n",
"
\n",
"
\n",
"
13
\n",
"
II
\n",
"
13.0
\n",
"
8.74
\n",
"
\n",
"
\n",
"
14
\n",
"
II
\n",
"
9.0
\n",
"
8.77
\n",
"
\n",
"
\n",
"
15
\n",
"
II
\n",
"
11.0
\n",
"
9.26
\n",
"
\n",
"
\n",
"
16
\n",
"
II
\n",
"
14.0
\n",
"
8.10
\n",
"
\n",
"
\n",
"
17
\n",
"
II
\n",
"
6.0
\n",
"
6.13
\n",
"
\n",
"
\n",
"
18
\n",
"
II
\n",
"
4.0
\n",
"
3.10
\n",
"
\n",
"
\n",
"
19
\n",
"
II
\n",
"
12.0
\n",
"
9.13
\n",
"
\n",
"
\n",
"
20
\n",
"
II
\n",
"
7.0
\n",
"
7.26
\n",
"
\n",
"
\n",
"
21
\n",
"
II
\n",
"
5.0
\n",
"
4.74
\n",
"
\n",
"
\n",
"
22
\n",
"
III
\n",
"
10.0
\n",
"
7.46
\n",
"
\n",
"
\n",
"
23
\n",
"
III
\n",
"
8.0
\n",
"
6.77
\n",
"
\n",
"
\n",
"
24
\n",
"
III
\n",
"
13.0
\n",
"
12.74
\n",
"
\n",
"
\n",
"
25
\n",
"
III
\n",
"
9.0
\n",
"
7.11
\n",
"
\n",
"
\n",
"
26
\n",
"
III
\n",
"
11.0
\n",
"
7.81
\n",
"
\n",
"
\n",
"
27
\n",
"
III
\n",
"
14.0
\n",
"
8.84
\n",
"
\n",
"
\n",
"
28
\n",
"
III
\n",
"
6.0
\n",
"
6.08
\n",
"
\n",
"
\n",
"
29
\n",
"
III
\n",
"
4.0
\n",
"
5.39
\n",
"
\n",
"
\n",
"
30
\n",
"
III
\n",
"
12.0
\n",
"
8.15
\n",
"
\n",
"
\n",
"
31
\n",
"
III
\n",
"
7.0
\n",
"
6.42
\n",
"
\n",
"
\n",
"
32
\n",
"
III
\n",
"
5.0
\n",
"
5.73
\n",
"
\n",
"
\n",
"
33
\n",
"
IV
\n",
"
8.0
\n",
"
6.58
\n",
"
\n",
"
\n",
"
34
\n",
"
IV
\n",
"
8.0
\n",
"
5.76
\n",
"
\n",
"
\n",
"
35
\n",
"
IV
\n",
"
8.0
\n",
"
7.71
\n",
"
\n",
"
\n",
"
36
\n",
"
IV
\n",
"
8.0
\n",
"
8.84
\n",
"
\n",
"
\n",
"
37
\n",
"
IV
\n",
"
8.0
\n",
"
8.47
\n",
"
\n",
"
\n",
"
38
\n",
"
IV
\n",
"
8.0
\n",
"
7.04
\n",
"
\n",
"
\n",
"
39
\n",
"
IV
\n",
"
8.0
\n",
"
5.25
\n",
"
\n",
"
\n",
"
40
\n",
"
IV
\n",
"
19.0
\n",
"
12.50
\n",
"
\n",
"
\n",
"
41
\n",
"
IV
\n",
"
8.0
\n",
"
5.56
\n",
"
\n",
"
\n",
"
42
\n",
"
IV
\n",
"
8.0
\n",
"
7.91
\n",
"
\n",
"
\n",
"
43
\n",
"
IV
\n",
"
8.0
\n",
"
6.89
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" dataset x y\n",
"0 I 10.0 8.04\n",
"1 I 8.0 6.95\n",
"2 I 13.0 7.58\n",
"3 I 9.0 8.81\n",
"4 I 11.0 8.33\n",
"5 I 14.0 9.96\n",
"6 I 6.0 7.24\n",
"7 I 4.0 4.26\n",
"8 I 12.0 10.84\n",
"9 I 7.0 4.82\n",
"10 I 5.0 5.68\n",
"11 II 10.0 9.14\n",
"12 II 8.0 8.14\n",
"13 II 13.0 8.74\n",
"14 II 9.0 8.77\n",
"15 II 11.0 9.26\n",
"16 II 14.0 8.10\n",
"17 II 6.0 6.13\n",
"18 II 4.0 3.10\n",
"19 II 12.0 9.13\n",
"20 II 7.0 7.26\n",
"21 II 5.0 4.74\n",
"22 III 10.0 7.46\n",
"23 III 8.0 6.77\n",
"24 III 13.0 12.74\n",
"25 III 9.0 7.11\n",
"26 III 11.0 7.81\n",
"27 III 14.0 8.84\n",
"28 III 6.0 6.08\n",
"29 III 4.0 5.39\n",
"30 III 12.0 8.15\n",
"31 III 7.0 6.42\n",
"32 III 5.0 5.73\n",
"33 IV 8.0 6.58\n",
"34 IV 8.0 5.76\n",
"35 IV 8.0 7.71\n",
"36 IV 8.0 8.84\n",
"37 IV 8.0 8.47\n",
"38 IV 8.0 7.04\n",
"39 IV 8.0 5.25\n",
"40 IV 19.0 12.50\n",
"41 IV 8.0 5.56\n",
"42 IV 8.0 7.91\n",
"43 IV 8.0 6.89"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"anscombe = sns.load_dataset(\"anscombe\")\n",
"anscombe"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To make things easier, create a new dataframe for each of the four datasets."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
dataset
\n",
"
x
\n",
"
y
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
I
\n",
"
10.0
\n",
"
8.04
\n",
"
\n",
"
\n",
"
1
\n",
"
I
\n",
"
8.0
\n",
"
6.95
\n",
"
\n",
"
\n",
"
2
\n",
"
I
\n",
"
13.0
\n",
"
7.58
\n",
"
\n",
"
\n",
"
3
\n",
"
I
\n",
"
9.0
\n",
"
8.81
\n",
"
\n",
"
\n",
"
4
\n",
"
I
\n",
"
11.0
\n",
"
8.33
\n",
"
\n",
"
\n",
"
5
\n",
"
I
\n",
"
14.0
\n",
"
9.96
\n",
"
\n",
"
\n",
"
6
\n",
"
I
\n",
"
6.0
\n",
"
7.24
\n",
"
\n",
"
\n",
"
7
\n",
"
I
\n",
"
4.0
\n",
"
4.26
\n",
"
\n",
"
\n",
"
8
\n",
"
I
\n",
"
12.0
\n",
"
10.84
\n",
"
\n",
"
\n",
"
9
\n",
"
I
\n",
"
7.0
\n",
"
4.82
\n",
"
\n",
"
\n",
"
10
\n",
"
I
\n",
"
5.0
\n",
"
5.68
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" dataset x y\n",
"0 I 10.0 8.04\n",
"1 I 8.0 6.95\n",
"2 I 13.0 7.58\n",
"3 I 9.0 8.81\n",
"4 I 11.0 8.33\n",
"5 I 14.0 9.96\n",
"6 I 6.0 7.24\n",
"7 I 4.0 4.26\n",
"8 I 12.0 10.84\n",
"9 I 7.0 4.82\n",
"10 I 5.0 5.68"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"filter_1 = anscombe[\"dataset\"] == \"I\"\n",
"anscombe_1 = anscombe[filter_1]\n",
"anscombe_1"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
dataset
\n",
"
x
\n",
"
y
\n",
"
\n",
" \n",
" \n",
"
\n",
"
11
\n",
"
II
\n",
"
10.0
\n",
"
9.14
\n",
"
\n",
"
\n",
"
12
\n",
"
II
\n",
"
8.0
\n",
"
8.14
\n",
"
\n",
"
\n",
"
13
\n",
"
II
\n",
"
13.0
\n",
"
8.74
\n",
"
\n",
"
\n",
"
14
\n",
"
II
\n",
"
9.0
\n",
"
8.77
\n",
"
\n",
"
\n",
"
15
\n",
"
II
\n",
"
11.0
\n",
"
9.26
\n",
"
\n",
"
\n",
"
16
\n",
"
II
\n",
"
14.0
\n",
"
8.10
\n",
"
\n",
"
\n",
"
17
\n",
"
II
\n",
"
6.0
\n",
"
6.13
\n",
"
\n",
"
\n",
"
18
\n",
"
II
\n",
"
4.0
\n",
"
3.10
\n",
"
\n",
"
\n",
"
19
\n",
"
II
\n",
"
12.0
\n",
"
9.13
\n",
"
\n",
"
\n",
"
20
\n",
"
II
\n",
"
7.0
\n",
"
7.26
\n",
"
\n",
"
\n",
"
21
\n",
"
II
\n",
"
5.0
\n",
"
4.74
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" dataset x y\n",
"11 II 10.0 9.14\n",
"12 II 8.0 8.14\n",
"13 II 13.0 8.74\n",
"14 II 9.0 8.77\n",
"15 II 11.0 9.26\n",
"16 II 14.0 8.10\n",
"17 II 6.0 6.13\n",
"18 II 4.0 3.10\n",
"19 II 12.0 9.13\n",
"20 II 7.0 7.26\n",
"21 II 5.0 4.74"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"filter_2 = anscombe[\"dataset\"] == \"II\"\n",
"anscombe_2 = anscombe[filter_2]\n",
"anscombe_2"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
dataset
\n",
"
x
\n",
"
y
\n",
"
\n",
" \n",
" \n",
"
\n",
"
22
\n",
"
III
\n",
"
10.0
\n",
"
7.46
\n",
"
\n",
"
\n",
"
23
\n",
"
III
\n",
"
8.0
\n",
"
6.77
\n",
"
\n",
"
\n",
"
24
\n",
"
III
\n",
"
13.0
\n",
"
12.74
\n",
"
\n",
"
\n",
"
25
\n",
"
III
\n",
"
9.0
\n",
"
7.11
\n",
"
\n",
"
\n",
"
26
\n",
"
III
\n",
"
11.0
\n",
"
7.81
\n",
"
\n",
"
\n",
"
27
\n",
"
III
\n",
"
14.0
\n",
"
8.84
\n",
"
\n",
"
\n",
"
28
\n",
"
III
\n",
"
6.0
\n",
"
6.08
\n",
"
\n",
"
\n",
"
29
\n",
"
III
\n",
"
4.0
\n",
"
5.39
\n",
"
\n",
"
\n",
"
30
\n",
"
III
\n",
"
12.0
\n",
"
8.15
\n",
"
\n",
"
\n",
"
31
\n",
"
III
\n",
"
7.0
\n",
"
6.42
\n",
"
\n",
"
\n",
"
32
\n",
"
III
\n",
"
5.0
\n",
"
5.73
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" dataset x y\n",
"22 III 10.0 7.46\n",
"23 III 8.0 6.77\n",
"24 III 13.0 12.74\n",
"25 III 9.0 7.11\n",
"26 III 11.0 7.81\n",
"27 III 14.0 8.84\n",
"28 III 6.0 6.08\n",
"29 III 4.0 5.39\n",
"30 III 12.0 8.15\n",
"31 III 7.0 6.42\n",
"32 III 5.0 5.73"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"filter_3 = anscombe[\"dataset\"] == \"III\"\n",
"anscombe_3 = anscombe[filter_3]\n",
"anscombe_3"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
dataset
\n",
"
x
\n",
"
y
\n",
"
\n",
" \n",
" \n",
"
\n",
"
33
\n",
"
IV
\n",
"
8.0
\n",
"
6.58
\n",
"
\n",
"
\n",
"
34
\n",
"
IV
\n",
"
8.0
\n",
"
5.76
\n",
"
\n",
"
\n",
"
35
\n",
"
IV
\n",
"
8.0
\n",
"
7.71
\n",
"
\n",
"
\n",
"
36
\n",
"
IV
\n",
"
8.0
\n",
"
8.84
\n",
"
\n",
"
\n",
"
37
\n",
"
IV
\n",
"
8.0
\n",
"
8.47
\n",
"
\n",
"
\n",
"
38
\n",
"
IV
\n",
"
8.0
\n",
"
7.04
\n",
"
\n",
"
\n",
"
39
\n",
"
IV
\n",
"
8.0
\n",
"
5.25
\n",
"
\n",
"
\n",
"
40
\n",
"
IV
\n",
"
19.0
\n",
"
12.50
\n",
"
\n",
"
\n",
"
41
\n",
"
IV
\n",
"
8.0
\n",
"
5.56
\n",
"
\n",
"
\n",
"
42
\n",
"
IV
\n",
"
8.0
\n",
"
7.91
\n",
"
\n",
"
\n",
"
43
\n",
"
IV
\n",
"
8.0
\n",
"
6.89
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" dataset x y\n",
"33 IV 8.0 6.58\n",
"34 IV 8.0 5.76\n",
"35 IV 8.0 7.71\n",
"36 IV 8.0 8.84\n",
"37 IV 8.0 8.47\n",
"38 IV 8.0 7.04\n",
"39 IV 8.0 5.25\n",
"40 IV 19.0 12.50\n",
"41 IV 8.0 5.56\n",
"42 IV 8.0 7.91\n",
"43 IV 8.0 6.89"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"filter_4 = anscombe[\"dataset\"] == \"IV\"\n",
"anscombe_4 = anscombe[filter_4]\n",
"anscombe_4"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Plot of data\n",
"Plot each of the data sets with a regression line using Seaborn. Which regression lines fit the data?"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.regplot(x = \"x\", y = \"y\", data = anscombe_1)\n",
"sns.regplot(x = \"x\", y = \"y\", data = anscombe_2)\n",
"sns.regplot(x = \"x\", y = \"y\", data = anscombe_3)\n",
"sns.regplot(x = \"x\", y = \"y\", data = anscombe_4)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"## R-Squared\n",
"\n",
"Compute R-Squared for each regression (you will have to compute the linear model using statsmodel). What do you notice about the R-Squared values? How do they compare to your visual assessment of the fit in the previous section?"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.666542459508775"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm = smf.ols(\"y ~ x\",data = anscombe_1).fit()\n",
"lm.rsquared"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.6662420337274843"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm2 = smf.ols(\"y ~ x\",data = anscombe_2).fit()\n",
"lm2.rsquared"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.6663240410665592"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm3 = smf.ols(\"y ~ x\",data = anscombe_3).fit()\n",
"lm3.rsquared"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.6667072568984653"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm4 = smf.ols(\"y ~ x\",data = anscombe_4).fit()\n",
"lm4.rsquared"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Overfitting and Underfitting models\n",
"\n",
"Overfitting and underfitting refer to the complexity of the model relative to the data. \n",
"\n",
"First plot Anscombe's second quartet and the regression line again:"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.regplot(x = \"x\", y = \"y\", data = anscombe_2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The above data set and linear model is an example of *underfitting* because the model is too simple compared to the data. The linear model is not capturing the curve of the data.\n",
"\n",
"We can increase the order of a model to increase it's complexity. Add the parameter `order = 2` to your plot:"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.regplot(x = \"x\", y = \"y\", data = anscombe_2, order = 2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What happened?\n",
"\n",
"What happens if we increase the order to 3?"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.regplot(x = \"x\", y = \"y\", data = anscombe_1, order = 3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is an example of overfitting, because the equations for the lines are more complex than they need to be.\n",
"\n",
"## k-fold cross validation\n",
"\n",
"We will use k = 2, because our datasets are so small. We will also do the computations manually.\n",
"\n",
"Use `test_train_split()` from the last lab to split the third Anscombe data in half."
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [],
"source": [
"X_train, X_test, y_train, y_test = train_test_split(anscombe_3[[\"x\"]], \\\n",
" anscombe_3[\"y\"], test_size=0.5)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
x
\n",
"
\n",
" \n",
" \n",
"
\n",
"
31
\n",
"
7.0
\n",
"
\n",
"
\n",
"
23
\n",
"
8.0
\n",
"
\n",
"
\n",
"
29
\n",
"
4.0
\n",
"
\n",
"
\n",
"
22
\n",
"
10.0
\n",
"
\n",
"
\n",
"
26
\n",
"
11.0
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" x\n",
"31 7.0\n",
"23 8.0\n",
"29 4.0\n",
"22 10.0\n",
"26 11.0"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_train"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"31 6.42\n",
"23 6.77\n",
"29 5.39\n",
"22 7.46\n",
"26 7.81\n",
"Name: y, dtype: float64"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y_train"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Find the linear model for the training data:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"Compute the mean squared error for the training data predictions:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"Now compute the linear model for the test data:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Compute the mean squared error for the test data:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How do the two mean squared errors differ? Does this make sense? (You may need to plot the test and training data to answer this question.)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.4.8"
}
},
"nbformat": 4,
"nbformat_minor": 2
}